home *** CD-ROM | disk | FTP | other *** search
/ Programming in Microsoft Windows with C# / Programacion en Microsoft Windows con C#.iso / Original Code / Brushes and Pens / TextureBrushDemo / TextureBrushDemo.cs next >
Encoding:
Text File  |  2001-01-15  |  1.7 KB  |  55 lines

  1. //-----------------------------------------------
  2. // TextureBrushDemo.cs ⌐ 2001 by Charles Petzold
  3. //-----------------------------------------------
  4. using System;
  5. using System.Drawing;
  6. using System.Drawing.Drawing2D;
  7. using System.Windows.Forms;
  8.  
  9. class TextureBrushDemo: PrintableForm
  10. {
  11.      MenuItem     miChecked;
  12.      TextureBrush tbrush;
  13.  
  14.      public new static void Main()
  15.      {
  16.           Application.Run(new TextureBrushDemo());
  17.      } 
  18.      public TextureBrushDemo()
  19.      {
  20.           Text = "Texture Brush Demo";
  21.  
  22.           Image image = Image.FromFile(
  23.                "..\\..\\..\\..\\Images and Bitmaps\\Apollo11FullColor.jpg");
  24.  
  25.           tbrush = new TextureBrush(image, new Rectangle(95, 0, 50, 55));
  26.  
  27.           Menu = new MainMenu();
  28.           Menu.MenuItems.Add("&Wrap-Mode");
  29.  
  30.           foreach (WrapMode wm in Enum.GetValues(typeof(WrapMode)))
  31.           {
  32.                MenuItem mi = new MenuItem();
  33.                mi.Text     = wm.ToString(); 
  34.                mi.Click   += new EventHandler(MenuWrapModeOnClick);
  35.                Menu.MenuItems[0].MenuItems.Add(mi);
  36.           }
  37.           miChecked = Menu.MenuItems[0].MenuItems[0];
  38.           miChecked.Checked = true;
  39.      }
  40.      void MenuWrapModeOnClick(object obj, EventArgs ea)
  41.      {
  42.           miChecked.Checked = false;
  43.           miChecked = (MenuItem) obj;
  44.           miChecked.Checked = true;
  45.  
  46.           tbrush.WrapMode = (WrapMode)miChecked.Index;
  47.           Invalidate();
  48.      }
  49.      protected override void DoPage(Graphics grfx, Color clr, int cx, int cy)
  50.      {
  51.           grfx.FillEllipse(tbrush, 0, 0, 2 * cx / 3, 2 * cy / 3);
  52.           grfx.FillEllipse(tbrush, cx / 3, cy / 3, 2 * cx / 3, 2 * cy / 3);
  53.      }
  54. }
  55.